﻿using System;
using System.Collections.Generic;

namespace SellAndBuy.Domain.Entities
{
    /// <summary>
    /// Contract for pictured items
    /// </summary>
    public interface IPicturable
    {
        /// <summary>
        /// Pictures
        /// </summary>
        IEnumerable<PictureInfo> Pictures { get; }


        /// <summary>
        /// Main Picture
        /// </summary>
        PictureInfo MainPicture { get; }

        /// <summary>
        /// Add Picture
        /// </summary>
        /// <param name="picture">Picture contents</param>
        /// <param name="fileName">File name</param>
        /// <param name="title">Name</param>
        void AddPicture(byte[] picture, string fileName, string title);

        /// <summary>
        /// Remove picture
        /// </summary>
        /// <param name="picture"></param>
        void RemovePicture(PictureInfo picture);

        /// <summary>
        /// Set main picture
        /// </summary>
        /// <param name="picture"></param>
        void SetMainPicture(PictureInfo picture);
    }
}
